home *** CD-ROM | disk | FTP | other *** search
/ Game Programming in C++ - Start to Finish / GameProgrammingS.iso / developer_install / CEGUISDK-0.4.1-VC6-Native.exe / {app} / include / elements / CEGUIThumbProperties.h < prev    next >
Encoding:
C/C++ Source or Header  |  2005-01-18  |  5.3 KB  |  179 lines

  1. /************************************************************************
  2.     filename:     CEGUIThumbProperties.h
  3.     created:    10/7/2004
  4.     author:        Paul D Turner
  5.     
  6.     purpose:    Interface for Thumb properties
  7. *************************************************************************/
  8. /*************************************************************************
  9.     Crazy Eddie's GUI System (http://www.cegui.org.uk)
  10.     Copyright (C)2004 - 2005 Paul D Turner (paul@cegui.org.uk)
  11.  
  12.     This library is free software; you can redistribute it and/or
  13.     modify it under the terms of the GNU Lesser General Public
  14.     License as published by the Free Software Foundation; either
  15.     version 2.1 of the License, or (at your option) any later version.
  16.  
  17.     This library is distributed in the hope that it will be useful,
  18.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  19.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  20.     Lesser General Public License for more details.
  21.  
  22.     You should have received a copy of the GNU Lesser General Public
  23.     License along with this library; if not, write to the Free Software
  24.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  25. *************************************************************************/
  26. #ifndef _CEGUIThumbProperties_h_
  27. #define _CEGUIThumbProperties_h_
  28.  
  29. #include "CEGUIProperty.h"
  30.  
  31.  
  32. // Start of CEGUI namespace section
  33. namespace CEGUI
  34. {
  35.  
  36. // Start of ThumbProperties namespace section
  37. /*!
  38. \brief
  39.     Namespace containing all classes that make up the properties interface for the Thumb class
  40. */
  41. namespace ThumbProperties
  42. {
  43. /*!
  44. \brief
  45.     Property to access the state of the "hot-tracked" setting for the thumb.
  46.  
  47.     \par Usage:
  48.         - Name: HotTracked
  49.         - Format: "[text]".
  50.  
  51.     \par Where [Text] is:
  52.         - "True" to indicate the thumb will send notifications as it is dragged.
  53.         - "False" to indicate the thumb will only notify once, when it is released.
  54. */
  55. class HotTracked : public Property
  56. {
  57. public:
  58.     HotTracked() : Property(
  59.         "HotTracked",
  60.         "Property to get/set the state of the state of the 'hot-tracked' setting for the thumb.  Value is either \"True\" or \"False\".",
  61.         "True")
  62.     {}
  63.  
  64.     String    get(const PropertyReceiver* receiver) const;
  65.     void    set(PropertyReceiver* receiver, const String& value);
  66. };
  67.  
  68.  
  69. /*!
  70. \brief
  71.     Property to access the state the setting to free the thumb vertically.
  72.  
  73.     \par Usage:
  74.         - Name: VertFree
  75.         - Format: "[text]".
  76.  
  77.     \par Where [Text] is:
  78.         - "True" to indicate the thumb will be free (movable) vertically.
  79.         - "False" to indicate the thumb will be fixed vertically.
  80. */
  81. class VertFree : public Property
  82. {
  83. public:
  84.     VertFree() : Property(
  85.         "VertFree",
  86.         "Property to get/set the state the setting to free the thumb vertically.  Value is either \"True\" or \"False\".",
  87.         "False")
  88.     {}
  89.  
  90.     String    get(const PropertyReceiver* receiver) const;
  91.     void    set(PropertyReceiver* receiver, const String& value);
  92. };
  93.  
  94.  
  95. /*!
  96. \brief
  97.     Property to access the state the setting to free the thumb horizontally.
  98.  
  99.     \par Usage:
  100.         - Name: HorzFree
  101.         - Format: "[text]".
  102.  
  103.     \par Where [Text] is:
  104.         - "True" to indicate the thumb will be free (movable) horizontally.
  105.         - "False" to indicate the thumb will be fixed horizontally.
  106. */
  107. class HorzFree : public Property
  108. {
  109. public:
  110.     HorzFree() : Property(
  111.         "HorzFree", 
  112.         "Property to get/set the state the setting to free the thumb horizontally.  Value is either \"True\" or \"False\".",
  113.         "False")
  114.     {}
  115.  
  116.     String    get(const PropertyReceiver* receiver) const;
  117.     void    set(PropertyReceiver* receiver, const String& value);
  118. };
  119.  
  120.  
  121. /*!
  122. \brief
  123.     Property to access the vertical movement range for the thumb.
  124.  
  125.     \par Usage:
  126.         - Name: VertRange
  127.         - Format: "min:[float] max:[float]".
  128.  
  129.     \par Where:
  130.         - min:[float] specifies the minimum vertical setting (position) for the thumb, specified using the active metrics system for the window.
  131.         - max:[float] specifies the maximum vertical setting (position) for the thumb, specified using the active metrics system for the window.
  132. */
  133. class VertRange : public Property
  134. {
  135. public:
  136.     VertRange() : Property(
  137.         "VertRange",
  138.         "Property to get/set the vertical movement range for the thumb.  Value is \"min:[float] max:[float]\".",
  139.         "min:0.000000 max:1.000000")
  140.     {}
  141.  
  142.     String    get(const PropertyReceiver* receiver) const;
  143.     void    set(PropertyReceiver* receiver, const String& value);
  144. };
  145.  
  146.  
  147. /*!
  148. \brief
  149.     Property to access the horizontal movement range for the thumb.
  150.  
  151.     \par Usage:
  152.         - Name: HorzRange
  153.         - Format: "min:[float] max:[float]".
  154.  
  155.     \par Where:
  156.         - min:[float] specifies the minimum horizontal setting (position) for the thumb, specified using the active metrics system for the window.
  157.         - max:[float] specifies the maximum horizontal setting (position) for the thumb, specified using the active metrics system for the window.
  158. */
  159. class HorzRange : public Property
  160. {
  161. public:
  162.     HorzRange() : Property(
  163.         "HorzRange",
  164.         "Property to get/set the horizontal movement range for the thumb.  Value is \"min:[float] max:[float]\".",
  165.         "min:0.000000 max:1.000000")
  166.     {}
  167.  
  168.     String    get(const PropertyReceiver* receiver) const;
  169.     void    set(PropertyReceiver* receiver, const String& value);
  170. };
  171.  
  172.  
  173. } // End of  ThumbProperties namespace section
  174.  
  175. } // End of  CEGUI namespace section
  176.  
  177.  
  178. #endif    // end of guard _CEGUIThumbProperties_h_
  179.